package controlador;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import vista.VentanaPrincipal;

import modelo.EventoDAO;
import modelo.Organizacion;
import modelo.Tienda;
import modelo.TiendaDAO;

public class ControladorVentanaPrincipal implements ActionListener {
	
	VentanaPrincipal ventanaPrincipal;
	ControladorVentanaCargarProducto controladorVentanaCargarProducto;
	ControladorVentanaCargarTienda controladorVentanaCargarTienda;
	ControladorVentanaRegistrarEvento controladorVentanaRegistrarEvento;
	ControladorVentanaConsultarEvento controladorVentanaConsultarEvento;
	ControladorVentanaRegistrarRegalo controladorVentanaRegistrarRegalo; 
	private Organizacion organizacion;
	private Tienda tienda;
	private TiendaDAO tiendaDao;
	private EventoDAO eventoDao;
	private int canttienda;
	private int cantevento;
	
 ControladorVentanaConsultarRegalosObsequiados controladorVentanaConsultarRegalosObsequiados;
	
	public ControladorVentanaPrincipal(){
		
		ventanaPrincipal = new VentanaPrincipal();
		ventanaPrincipal.setLocationRelativeTo(null);
		ventanaPrincipal.setVisible(true);
		ventanaPrincipal.agregarListener(this);
		organizacion = new Organizacion();
		
		tiendaDao = new TiendaDAO();
		canttienda = tiendaDao.numeroTiendas();
		
		eventoDao = new EventoDAO();
		cantevento = eventoDao.numeroEvento();
	}
	

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
		if (e.getActionCommand().equalsIgnoreCase("Cargar Tienda"))
		{
			//Cargar los datos de las tiendas
			controladorVentanaCargarTienda = new ControladorVentanaCargarTienda(organizacion);
			
		} else if (e.getActionCommand().equalsIgnoreCase("Cargar Producto")){
			
			//if (organizacion.cantTiendas() > 0){
			
			if( canttienda>0 ) {
				controladorVentanaCargarProducto = new ControladorVentanaCargarProducto(organizacion);
				
			} else {
				
				this.ventanaPrincipal.mostrarMensaje("Debe Cargar las Tiendas");
				
			}
		
		} else if (e.getActionCommand().equalsIgnoreCase("Registrar Evento")){
			if (canttienda > 0) {
				
				controladorVentanaRegistrarEvento=new ControladorVentanaRegistrarEvento(organizacion);
			
			}
			else {
				
				this.ventanaPrincipal.mostrarMensaje("Debe Cargar las Tiendas y los Productos correspondientes");
			}
			
		} else if (e.getActionCommand().equalsIgnoreCase("Consultar Evento")){
			//Validar que existan Eventos
			
			// if (organizacion.cantEventos() > 0){
				if (cantevento > 0) {
			
				controladorVentanaConsultarEvento = new ControladorVentanaConsultarEvento(organizacion);
			
				} else {
				
				this.ventanaPrincipal.mostrarMensaje("No hay eventos registrados");
				}
			
		} else if(e.getActionCommand().equalsIgnoreCase("Registrar Regalo")){
			
			//if (organizacion.cantEventos() > 0){
			if (cantevento > 0) {
				controladorVentanaRegistrarRegalo = new ControladorVentanaRegistrarRegalo(organizacion);
			} else {
				this.ventanaPrincipal.mostrarMensaje("No hay eventos registrados");
			}
			
		} else if (e.getActionCommand().equalsIgnoreCase("Regalos Obsequiados")){
			
			
		//	if (organizacion.cantEventos() > 0){
			
			if (cantevento > 0) {
				controladorVentanaConsultarRegalosObsequiados = new ControladorVentanaConsultarRegalosObsequiados(organizacion);
				
			} else {
				
				this.ventanaPrincipal.mostrarMensaje("No hay eventos registrados");
			}
			
		} else if (e.getActionCommand().equalsIgnoreCase("Salir")){
			
			System.exit(0);
			
		}
	
	}

	
}